package com.cyf.db.bean;

import lombok.Data;

/**
 * @author zym
 * @date 2020/6/22 18:16
 */
@Data
public class ApiUser {
    public static final int PI_TYPE_ALI_WECHAT = 1;
    public static final int PI_TYPE_JD = 2;
    public static final int PI_TYPE_JH = 3;
    // 基本信息
    private int id;                     // 主键
    private String name;                // 公司名称
    private String address;             // 公司地址
    private String dutyPerson;          // 公司负责人
    private String phone;               // 公司负责人手机号
    private String token;               // 唯一标识

    // 通知类相关：车易付主动通知第三方
    private String noticeUrl;           // 通知类消息基础url
    private String noticeOutUrl;
    private String noticeOutDetailUrl;
    private String noticeCurFeeUrl;

    // 支付相关：
    private String alipayNotifyUrl;         // 支付宝App支付：支付成功回调url
    private String wxpayNotifyUrl;          // 微信App支付：支付成功回调url

    // 微信公众号
    private String wxJsApipayAppId;         // 微信公众号jsapi支付：APPID
    private String wxJsApipayApiSecret;     // 微信公众号jsapi支付：API密钥
    private String wxJsApipayMchId;         // 微信公众号jsapi支付：商户号
    private String wxJsApipayNotifyUrl;     // 微信公众号jsapi支付：支付成功回调url
    private String wxJsApipayAuthUrl;       // 微信公众号支付：授权获取用户信息openid，然后调起公众号支付

    // 易停宝app支付相关：
    private String wxpayAppId;              // 易停宝：微信App支付：APPID
    private String wxpayApiSecret;          // 易停宝：微信App支付：API密钥
    private String wxpayMchId;              // 易停宝：微信App支付：商户号

    private String alipayAppId;             // 易停宝：支付宝App支付：APPID：创建应用后生成
    private String alipayAppPrivateKey;     // 易停宝：支付宝App支付：开发者应用私钥：由开发者自己生成
    private String alipayPublicKey;         // 易停宝：支付宝App支付：支付宝公钥：由支付宝生成

    // 服务工社app支付相关：
    private String svrWxpayAppId;              // 服务工社：微信App支付：APPID
    private String svrWxpayApiSecret;          // 服务工社：微信App支付：API密钥
    private String svrWxpayMchId;              // 服务工社：微信App支付：商户号

    private String svrAlipayAppId;             // 服务工社：支付宝App支付：APPID：创建应用后生成
    private String svrAlipayAppPrivateKey;     // 服务工社：支付宝App支付：开发者应用私钥：由开发者自己生成
    private String svrAlipayPublicKey;         // 服务工社：支付宝App支付：支付宝公钥：由支付宝生成

    //微信服务商 支付相关
    private String serviceWxSubAppid;         //子商户公众账号ID      不是必传字段
    private String serviceSubMchId;           //子商户id              必填字段
    private String servicepayNotifyUrl;      //服务商微信支付回调     必填字段
    private Integer alipayIsvId;
    private String app_auth_token;          //支付宝 子商户token
    private Integer jdMerchantInfoId;          //JD商户信息id
    private int piType;                 //支付通道  1 微信/支付宝服务商、2 JD支付、3 建行
    private Integer jhMerchantInfoId;   // 建行支付信息Id

    private String firstPlate;
    private String imageUrl;

    private String wxIsvKey;   //微信服务器密钥
    private String wxIsvMchId;  //微信服务商商户号
    private String wxIsvAppId; //微信服务商AppId


    /**
     * 用户使用建行支付
     *
     * @return
     */
    public boolean isJHPay() {
        return this.piType == ApiUser.PI_TYPE_JH && this.jhMerchantInfoId != null && this.jhMerchantInfoId != 0;
    }

    /**
     * 用户使用京东支付
     *
     * @return
     */
    public boolean isJDPay() {
        return this.piType == ApiUser.PI_TYPE_JD && this.jdMerchantInfoId != null && this.jdMerchantInfoId != 0;
    }
}
